#include<iostream>


class Task
{
public:
  Task() = default;
  Task(int x ,int y ,char op) :_op(op),_x(x),_y(y)
  {}
  void Handle()
  {
    switch(_op)
    {
      case '+':
        printf("-------------%d %c %d = %d-------------\n",_x,_op,_y,_x + _y);
        break;
      case '-':
        printf("-------------%d %c %d = %d-------------\n",_x,_op,_y,_x - _y);
        break;
      case '*':
        printf("-------------%d %c %d = %d-------------\n",_x,_op,_y,_x * _y);
        break;
      case '/':
        printf("-------------%d %c %d = %d-------------\n",_x,_op,_y,_x / _y);
        break;
      case '%':
        printf("-------------%d %c %d = %d-------------\n",_x,_op,_y,_x % _y);
        break;
      default:
        printf("op err!");
        break;
    }
  }
  void operator()()
  {
    this->Handle();
  }
private:
  char _op;
  int _x;
  int _y;
};
